﻿function makeAutoResize(id, symbolsInARow, rowHeight, minHeight)
{
	if (isIE)
	{
		// У IE как обычно своя textarea
		return;
	}
	
	var textarea = $(id);
	
	textarea.onkeypress = textarea.onkeyup = function()
	{
		var numOfRows = countRows(textarea, symbolsInARow);
		var newHeight = numOfRows * rowHeight;
		newHeight = max(newHeight, minHeight);
		textarea.style.height = newHeight + "px";
		
		/* 
		 * Можно было бы сделать красивей:
		 * newHeight = max(textarea.scrollHeight, minHeight)
		 * Но scrollHeight не уменьшается при удалении символов =(
		 */
		 
		//TODO: корректировать положение блока при удалении символов
	};
	
	function countRows(textarea, symbolsInARow)
	{
		var text = textarea.value;
		var rows = text.split("\n");
		
		var rowCount = 0;
		for (var i in rows)
		{
			var len = rows[i].length;
			if (len <= symbolsInARow)
			{
				rowCount++;
			}
			else
			{
				rowCount += Math.ceil(rows[i].length / symbolsInARow);
			}
		}
		
		return rowCount;
	}
}